Salesforce UX API
TMF-622 DOM Plan Purchase in Matrixx
Pruchase Discount plan for prepaid in Matrixx system (Rating system) POST:/productOrder
URL
https://[localhost]:[port]/sfdc-ux/v1/{businessId}/productOrderurl Param
| name | type | description | required | 
|---|---|---|---|
| businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR, etc.) identifying the business unit. | Y | 
Header
| name | type | description | required | 
|---|---|---|---|
| client_id | string | The client_id identifying the channel. Minimum characters: 5 | Y | 
| client_secret | string | Password associated with the client_id. Minimum characters: 5 | Y | 
| X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server.  Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction.  | Y | 
| channelId | string | This is to identify the source (Project).Value : BUS sfdc-b2c Conditionally Mandatory. It is Mandatory only for B2B and B2C as there are underlying conditions based on channelId received | Y | 
| targetSystem | string | This describes the end system request is for Eg: Aria, Matrixx.Note - For Peacock Mobile Project, it's mandatory | Y | 
| lob | string | This is tidentify line of business, exmaple POSTPAID, PREPAID. | Y | 
cURL request
curl --location 'https://nonprod.esb.cloud.lla.com/dev/sfdc-ux/sfdc-ux/v1/PR/productOrder' \
--header 'X-Correlation-Id: 58930284' \
--header 'lob: PREPAID' \
--header 'channelId: SFDC-B2C' \
--header 'targetSystem: MATRIXX' \
--header 'client_id: abcde' \
--header 'client_secret: 123456789' \
--header 'Content-Type: application/json' \
--data-raw '{
    "channel": [
        {
            "name": "SFDC-B2C"
        }
    ],
    "note": [
        {
            "@type": "TransactionId",
            "text": "SFDC12345"
        }
    ],
    "billingAccount": {
        "@type": "BillingAccountRef",
        "id": "30005996-31005996001"
    },
    "relatedParty": [
        {
            "@type": "CustomerAccountRef",
            "id": "31005996001"
        }
    ],
    "productOrderItem": [
        {
            "action": "nochange",
            "product": {
                "name": "Prepaid Subscription",
                "id": "12344321",
                "@type": "Subscription",
                "status": "active"
            },
            "id": "802Pl00000NgRTBIA3",
            "quantity": 1.0,
            "productOrderItem": [
                {
                    "action": "add",
                    "product": {
                        "name": "Prepaid_Template_NonShared",
                        "id": "a4yPl000007T0DYIA0",
                        "@type": "Offer",
                        "productCharacteristic": [
                            {
                                "name": "OfferType",
                                "value": "BasePlan",
                                "@type": "Attr"
                            },
                            {
                                "name": "OrderId",
                                "value": "1234567"
                            },
                            {
                                "name": "DeferredSettlement",
                                "value": "false"
                            },
                            {
                                "name": "ChargePurchaseProrationType",
                                "value": "0"
                            },
                            {
                                "name": "CommercialPlanCode",
                                "value": "BoostPlan",
                                "@type": "Attr"
                            },
                            {
                                "name": "CommercialPlanName",
                                "value": "BoostPlan",
                                "@type": "Attr"
                            },
                            {
                                "name": "TotalCharge",
                                "value": "30.00",
                                "@type": "Attr"
                            },
                            {
                                "name": "AutoPayDiscount",
                                "value": "0",
                                "@type": "Attr"
                            },
                            {
                                "name": "DataGrant",
                                "value": "6096",
                                "@type": "Attr"
                            },
                            {
                                "name": "HotspotGrant",
                                "value": "6096.00",
                                "@type": "Attr"
                            },
                            {
                                "name": "VoiceGrant",
                                "value": "999999",
                                "@type": "Attr"
                            },
                            {
                                "name": "TextGrant",
                                "value": "999999",
                                "@type": "Attr"
                            },
                            {
                                "name": "MMSGrant",
                                "value": "999999",
                                "@type": "Attr"
                            },
                            {
                                "name": "VoiceOriginationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "VoiceDestinationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "TextOriginationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "TextDestinationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "MMSOriginationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "MMSDestinationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "DataOriginationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "RolloverSupported",
                                "value": "True",
                                "@type": "Attr"
                            },
                            {
                                "name": "DataChargePercentage",
                                "value": {
                                    "ParameterDefnId": "1",
                                    "value": "0.751",
                                    "@type": "MtxParameterDecimalValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {
                                "name": "VoiceChargePercentageIntra",
                                "value": {
                                    "ParameterDefnId": "10",
                                    "value": "0.2289804",
                                    "@type": "MtxParameterDecimalValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {
                                "name": "VoiceChargePercentageInter",
                                "value": {
                                    "ParameterDefnId": "11",
                                    "value": "0.0200196",
                                    "@type": "MtxParameterDecimalValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {
                                "name": "SmsChargePercentage",
                                "value": {
                                    "ParameterDefnId": "12",
                                    "value": "0",
                                    "@type": "MtxParameterDecimalValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {
                                "name": "LifelineDiscountEnrollment",
                                "value": {
                                    "ParameterDefnId": "13",
                                    "value": "False",
                                    "@type": "MtxParameterStringValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {    // New node added
                                "name": "Discount1Term",
                                "value": {
                                    "ParameterDefnId": "14",
                                    "value": "24",
                                    "@type": "MtxParameterUnsignedInt32Value"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {    // New node added
                                "name": "Discount2Term",
                                "value": {
                                    "ParameterDefnId": "15",
                                    "value": "3",
                                    "@type": "MtxParameterUnsignedInt32Value"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {    // New node added
                                "name": "Discount1Name",
                                "value": {
                                    "ParameterDefnId": "16",
                                    "value": "Name1",
                                    "@type": "MtxParameterStringValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {    // New node added
                                "name": "Discount2Name",
                                "value": {
                                    "ParameterDefnId": "17",
                                    "value": "Name12",
                                    "@type": "MtxParameterStringValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {    // New node added
                                "name": "Discount1Amount",
                                "value": "10",
                                "@type": "Attr"
                            },
                            {    // New node added
                                "name": "Discount2Amount",
                                "value": "5",
                                "@type": "Attr"
                            },
                            {
                                "name": "ChargeMethod",
                                "value": "3"
                            }
                        ],
                        "status": "active"
                    },
                    "id": "802Pl00000NgRTBIA3",
                    "@type": "Offer"
                }
            ],
            "@type": "Subscription"
        }
    ],
    "@type": "ProductOrder"
}'Definitions
| name | type | description | required | 
|---|---|---|---|
| note | array | Extra information about a given entity | N | 
| note.text | string | Text of the note | N | 
| note.@type | string | Type of entity | N | 
| channel | array | Related channel to another entity. | N | 
| channel.name | string | Name of the channel. | N | 
| productOrderItem | array | An identified part of the order. A product order is decomposed into one or more order items. | N | 
| productOrderItem.id | string | Identifier of the line item | Y | 
| productOrderItem.action | string | action to be performed on the product.  Note - expected value is "noChange"  | Y | 
| productOrderItem.@type | string | Type of orderItem | N | 
| productOrderItem.product | object | A product to be created defined by value or existing defined by reference. | Y | 
| productOrderItem.product.id | string | Subscription external Id | Y | 
| productOrderItem.product.name | string | Catalog Item Name (ExternalId) | N | 
| productOrderItem.product.status | string | Status of product | N | 
| productOrderItem.product.@type | string | Product type | N | 
| productOrderItem.productOrderItem | array | An identified part of the order. A product order is decomposed into one or more order items. | Y | 
| productOrderItem.productOrderItem.id | string | Identifier of the line item,  Note - ESB is not passing this value to Matrixx, it's mandatory as pr TMF guidelines. you can pass either empty or any random values  | Y | 
| productOrderItem.productOrderItem.action | string | action to be performed on the product.  Note - expected value is "add"  | Y | 
| productOrderItem.productOrderItem.@type | string | Type of product order item | N | 
| productOrderItem.productOrderItem.product | object | A product to be created defined by value or existing defined by reference. | Y | 
| productOrderItem.productOrderItem.product.id | string | Unique identifier of the product | N | 
| productOrderItem.productOrderItem.product.name | string | Catalog Item Name (ExternalId),  Note - ESB is not passing this value to Matrixx (backend system), it's mandatory as pr TMF guidelines. you can pass either empty or any random values  | Y | 
| productOrderItem.productOrderItem.product.status | string | Status of product | N | 
| productOrderItem.productOrderItem.product.@type | string | Product type | Y | 
| productOrderItem.productOrderItem.product.productCharacteristic | array | Describes a given characteristic of an object or entity through a name/value pair.  Pleases refer below productCharacteristic values for more info.  | N | 
| productOrderItem.productOrderItem.product.productCharacteristic.name | string | Name of the characteristic | N | 
| productOrderItem.productOrderItem.product.productCharacteristic.value | string | Value of the characteristic | N | 
| productOrderItem.productOrderItem.product.productCharacteristic.@type | string | characteristic type | N | 
productCharacteristic Values
| name | type | description | required | 
|---|---|---|---|
| OfferType | string | Offer Type | N | 
| CommercialPlanCode | string | Commercial Plan Code | N | 
| CommercialPlanName | string | Commercial Plan Name | N | 
| OrderItemId | string | Order Item Id | N | 
| TotalCharge | string | Offer Total Charge | N | 
| ChargeMethod | string | Charge Method | N | 
| RolloverSupported | string | Rollover Supported | N | 
| DataGrant | string | Data Grant | N | 
| HotspotGrant | string | Hotspot Grant | N | 
| VoiceGrant | string | Voice Grant | N | 
| TextGrant | string | Text Grant | N | 
| MMSGrant | string | MMS Grant | N | 
| VoiceOriginationLocations | array | Voice Origination Locations | N | 
| VoiceDestinationLocations | array | Voice Destination Locations | N | 
| TextOriginationLocations | array | Text Origination Locations | N | 
| TextDestinationLocations | array | Text Destination Locations | N | 
| MMSOriginationLocations | array | MMS Origination Locations | N | 
| MMSDestinationLocations | array | MMS Destination Locations | N | 
| DataOriginationLocations | array | Data Origination Locations | N | 
| AutoPayDiscount | string | AutoPay Discount | N | 
| DataChargePercentage | object | Data Charge Percentage | N | 
| VoiceChargePercentageIntra | object | Voice Charge PercentageIntra | N | 
| VoiceChargePercentageInter | object | Voice Charge PercentageInter | N | 
| SmsChargePercentage | object | Sms Charge Percentage | N | 
| LifelineDiscountEnrollment | object | Lifeline Discount Enrollment | N | 
Note Values
| name | type | description | required | 
|---|---|---|---|
| TransactionId | string | unique Transaction Id | N | 
| ReasonCode | string | Reason of this transaction | N | 
Response
{
    "state": "completed",
    {
    "channel": [
        {
            "name": "SFDC-B2C"
        }
    ],
    "note": [
        {
            "@type": "TransactionId",
            "text": "SFDC12345"
        }
    ],
    "billingAccount": {
        "@type": "BillingAccountRef",
        "id": "30005996-31005996001"
    },
    "relatedParty": [
        {
            "@type": "CustomerAccountRef",
            "id": "31005996001"
        }
    ],
    "productOrderItem": [
        {
            "action": "nochange",
            "product": {
                "name": "Prepaid Subscription",
                "id": "12344321",
                "@type": "Subscription",
                "status": "active"
            },
            "id": "802Pl00000NgRTBIA3",
            "quantity": 1.0,
            "productOrderItem": [
                {
                    "action": "add",
                    "product": {
                        "name": "Prepaid_Template_NonShared",
                        "id": "a4yPl000007T0DYIA0",
                        "@type": "Offer",
                        "productCharacteristic": [
                            {
                                "name": "OfferType",
                                "value": "BasePlan",
                                "@type": "Attr"
                            },
                            {
                                "name": "OrderId",
                                "value": "1234567"
                            },
                            {
                                "name": "DeferredSettlement",
                                "value": "false"
                            },
                            {
                                "name": "ChargePurchaseProrationType",
                                "value": "0"
                            },
                            {
                                "name": "CommercialPlanCode",
                                "value": "BoostPlan",
                                "@type": "Attr"
                            },
                            {
                                "name": "CommercialPlanName",
                                "value": "BoostPlan",
                                "@type": "Attr"
                            },
                            {
                                "name": "TotalCharge",
                                "value": "30.00",
                                "@type": "Attr"
                            },
                            {
                                "name": "AutoPayDiscount",
                                "value": "0",
                                "@type": "Attr"
                            },
                            {
                                "name": "DataGrant",
                                "value": "6096",
                                "@type": "Attr"
                            },
                            {
                                "name": "HotspotGrant",
                                "value": "6096.00",
                                "@type": "Attr"
                            },
                            {
                                "name": "VoiceGrant",
                                "value": "999999",
                                "@type": "Attr"
                            },
                            {
                                "name": "TextGrant",
                                "value": "999999",
                                "@type": "Attr"
                            },
                            {
                                "name": "MMSGrant",
                                "value": "999999",
                                "@type": "Attr"
                            },
                            {
                                "name": "VoiceOriginationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "VoiceDestinationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "TextOriginationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "TextDestinationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "MMSOriginationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "MMSDestinationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "DataOriginationLocations",
                                "value": [
                                    "0"
                                ],
                                "@type": "Attr"
                            },
                            {
                                "name": "RolloverSupported",
                                "value": "True",
                                "@type": "Attr"
                            },
                            {
                                "name": "DataChargePercentage",
                                "value": {
                                    "ParameterDefnId": "1",
                                    "value": "0.751",
                                    "@type": "MtxParameterDecimalValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {
                                "name": "VoiceChargePercentageIntra",
                                "value": {
                                    "ParameterDefnId": "10",
                                    "value": "0.2289804",
                                    "@type": "MtxParameterDecimalValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {
                                "name": "VoiceChargePercentageInter",
                                "value": {
                                    "ParameterDefnId": "11",
                                    "value": "0.0200196",
                                    "@type": "MtxParameterDecimalValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {
                                "name": "SmsChargePercentage",
                                "value": {
                                    "ParameterDefnId": "12",
                                    "value": "0",
                                    "@type": "MtxParameterDecimalValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {
                                "name": "LifelineDiscountEnrollment",
                                "value": {
                                    "ParameterDefnId": "13",
                                    "value": "False",
                                    "@type": "MtxParameterStringValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {    // New node added
                                "name": "Discount1Term",
                                "value": {
                                    "ParameterDefnId": "14",
                                    "value": "24",
                                    "@type": "MtxParameterUnsignedInt32Value"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {    // New node added
                                "name": "Discount2Term",
                                "value": {
                                    "ParameterDefnId": "15",
                                    "value": "3",
                                    "@type": "MtxParameterUnsignedInt32Value"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {    // New node added
                                "name": "Discount1Name",
                                "value": {
                                    "ParameterDefnId": "16",
                                    "value": "Name1",
                                    "@type": "MtxParameterStringValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {    // New node added
                                "name": "Discount2Name",
                                "value": {
                                    "ParameterDefnId": "17",
                                    "value": "Name12",
                                    "@type": "MtxParameterStringValue"
                                },
                                "@type": "Parameter",
                                "valueType": "Object"
                            },
                            {    // New node added
                                "name": "Discount1Amount",
                                "value": "10",
                                "@type": "Attr"
                            },
                            {    // New node added
                                "name": "Discount2Amount",
                                "value": "5",
                                "@type": "Attr"
                            },
                            {
                                "name": "ChargeMethod",
                                "value": "3"
                            }
                        ],
                        "status": "active"
                    },
                    "id": "802Pl00000NgRTBIA3",
                    "@type": "Offer"
                }
            ],
            "@type": "Subscription"
        }
    ],
    "@type": "ProductOrder"
}Definitions
| name | type | description | required | 
|---|---|---|---|
| state | string | The state of the order | N | 
| Entire request payload will be appended with state in response | N |